package chapter_04;


public class Question {
    /*
    小结：
    1. 栈、队列和优先级队列是经常用于建华某些程序操作的数据结构。
    2. 在这些数据结构中，只有一个数据项可以被访问。
    3. 栈允许访问最后一个插入的数据项。
    4. 栈中重要的操作是在栈顶插入一个数据项，以及从栈顶移除一个数据项。
    5. 队列只允许访问第一个插入的数据项。
    6. 队列的重要操作是在队尾插入数据项和在队头移除数据项。
    7. 队列可以实现循环队列，它基于数组，数组下标可以从数组末端回绕到数组的开始
    位置。
    8. 优先级队列允许访问最小（或者有时是最大）的数据项。
    9. 优先级队列的重要操作时有序地插入新数据项和移除关键字最小的数据项。
    10. 这些数据结构可以用数组实现，也可以用其他机制（如链表）来实现。
    11. 普通算术表达式是用中缀表达法表示的，这种命名的原因是操作符卸载两个操作数
    的中间。
    12. 在后缀表达法中，操作符跟在两个操作数的后面。
    13. 算术表达式求值通常都是先转换成后缀表达式，然后再求后缀表达式的值。
    14. 在中缀表达式转到后缀表达式以及求后缀表达式的值的过程里，栈都是很有用的
    工具。
     */

    /*
    1. 将10/20/30和40依次插入到栈里，再弹出三个数据项，哪一个数据项还留在栈里？
    10

    2. 队列中的内容可以回绕，栈则不行。

    3. LIFO和FIFO
    先进后出和先进先出。

    4. 栈和队列通常作为ADT（抽象数据类型）数组的主要实现机制。

    5. 假设一个数组最左边下标志为0。一个队列代表一列排队买电影票的人，最先到的人编号为1，售票窗口在右边。
    那么：
    数组下标值和等待买票的人的编号增加的方向相反。

    6. 当插入或移除一个数据项时，队列中某个特定的数据项是从低下标值向高下标值移动呢，还是从高到低移动？
    根本没有移动。

    7. 假定向队列中插入15、25、35和45。然后移除三个数据项，队列中还剩下哪个数据项？
    45

    8. 栈的入栈和出栈操作与队列的插入和移除操作的时间复杂度都是O(N)。
    都是O(1)。

    9. 队列可以用来保存：
    计算机用户写信时键入的内容。

    10. 在典型的优先级队列中插入一个数据项的时间复杂度是多少？
    O(N)

    11. 优先级队列中优先级的含义是？
    按数据项的优先级别排序。

    12. 略

    13. 优先级队列和有序数组的一个区别是：
    数组必须是有序的，而优先级队列不需要。

    14. 略

    15. 优先级队列可以用于保存：
    一辆出租车需载的分布在城市不同地点的乘客。
     */
}
